package com.loong.nnm.services;

import com.loong.nnm.entity.pg.LAG;
import com.loong.nnm.entity.pg.PG;

/**
 * 保护组信息
 *
 * @author wcloong
 * @time 2022/9/13
 */
public interface PGServices {

    /**
     * 获取保护组信息列表
     *
     * @param node 网元名称
     * @return 保护组信息列表
     */
    String getPGs(String node);

    /**
     * 设置保护
     *
     * @param node 网元名称
     * @param pg   保护
     * @return 操作结果
     */
    String setPGS(String node, PG pg);

    /**
     * 保护倒换
     *
     * @param node 网元名称
     * @param json 倒换报文
     * @return 操作结果
     */
    String switchPG(String node, String json);

    /**
     * 删除保护
     *
     * @param node 网元名称
     * @param pgId 保护ID
     * @return 操作状态
     */
    String deletePG(String node, int pgId);

    /**
     * 获取LAG保护组信息列表
     *
     * @param node 网元名称
     * @return LAG保护组信息列表
     */
    String getLAGs(String node);


    /**
     * 设置保护
     *
     * @param node 网元名称
     * @param lag  保护
     * @return 操作结果
     */
    String setLAGS(String node, LAG lag);

    /**
     * 删除保护
     *
     * @param node  网元名称
     * @param lagId 保护ID
     * @return 操作状态
     */
    String deleteLAG(String node, int lagId);
}
